# 1.文件操作
# r,w,a
# rb,wb,ab
# r+,w+,a+

# r:读
# read() #全部读取
# read(3) # 按照字符串读取
# for i in f:
#     print(i)  #逐行读取

# readline() # 读取一行
# readlines() # 一行一行读取,存放在列表中

# w:写
# 1.清空文件 -- open("清空文件")
# 2.write()
# 2.write()
# 2.write()
# 2.write()

# a:追加
# 文件的末尾写入内容
# write("内容") -- 写得是必须是字符串

# rb:读字节  不能指定编码集
# read() # 全读
# read(3) # 按字节读取
# readline() # 读取一行
# readlines() # 一行一行读取,存放在列表中

# wb:写字节
# 1.清空文件(打开文件的时候才清空文件)
# write("字节")

# ab:追加字节
#文件的末尾追加字节


# r+: 读写
# 先读后写
# w+: 清空写,读
# 先写后读(移动光标)
# a+: 追加写,读
# 先写后读(移动光标)


# 其他操作:
# tell() 查看光标位置(返回的字节)
# seek() 移动光标

# seek(0,0) # 移动到文件的头部
# seek(0,1) # 当前位置
# seek(0,2) # 移动到文件的末尾
# seek(3)   # 按照字节移动光标(根据不用的编码集进行计算)
# f = open("a.txt.txt","r",encoding="utf-8")

# with open("a.txt.txt","r",encoding="utf-8")as f:
# with open 可以自动关闭文件
# with open 同时操作多个文件
# with open (面向对象 -- 上下文管理)

# 文件的修改:
# 1.打开文件读取所有内容
# 2.创建一个新文件
# 3.将旧文件的内容进行操作后写入新文件
# 4.将旧文件的名字改成备份的,新文件的名字改成旧文件的名字

# 路径:
# 相对路径:  推荐使用  ../ 返回上一级
# 绝对路径:
# 转义: "C:\\user\\net\\"
        # r"C:\user\net\"